package com.zzyl.service;

import com.zzyl.base.PageResponse;
import com.zzyl.dto.VisitDto;
import com.zzyl.vo.VisitVo;

import java.time.LocalDateTime;
import java.util.List;

public interface VisitService {

    /**
     * 更新来访信息
     * @param id 来访信息id
     * @param dto 来访信息
     */
    void update(Long id, VisitDto dto);

    /**
     * 取消来访
     */
    void cancelVisit(Long id);

    /**
     * 根据id删除来访信息
     * @param id 来访信息id
     */
    void deleteById(Long id);

    /**
     * 根据id查找来访信息
     * @param id 来访信息id
     * @return 来访信息
     */
    VisitVo findById(Long id);

    /**
     * 查找所有来访信息
     * @return 所有来访信息
     * @param mobile
     * @param time
     */
    List<VisitVo> findAll(String mobile, LocalDateTime time);

    /**
     * 新增来访
     * @param visitDto
     */
    void add(VisitDto visitDto);

    /**
     * 分页查询来访信息
     * @param pageNum
     * @param pageSize
     * @param name
     * @param phone
     * @param status
     * @param type
     * @param startTime
     * @param endTime
     * @return
     */

    PageResponse<VisitVo> getBypage(int pageNum, int pageSize, String name, String phone, Integer status, Integer type, LocalDateTime startTime, LocalDateTime endTime);


}
